home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 4: Demo 1
/
almathera_demo1.bin
/
sourcecode
/
dexion
/
cursor cycle.s
< prev
next >
Wrap
Text File
|
1995-03-17
|
1KB
|
80 lines
; cusor cycle IRQ
;
timer=0
gfxbase=2
fac=6
start:
movem.l d0-d7/a0-a6,-(sp)
move.l $4,a6
move.l #cend-L3int,d0
move.l #%10000000000000001,d1
jsr -198(a6)
move.l d0,d6
beq error
lea gfxname,a1
jsr -408(a6)
move.l d0,dat+2
move.l $6c,oldint ;old IRQ
lea L3int,a1
move.l d6,a0
move.l #[[cend-L3int]/2]-2,d0
clop:
move.w (a1)+,(a0)+
dbra d0,clop
move.w #$0020,$dff09a
move.w #$0020,$dff09c
move.l d6,$6c ; set new IRQ
move.w #$8020,$dff09a
move.l dat+2,a1
move.l 4,a6
jsr -414(a6)
error:
movem.l (sp)+,d0-d7/a0-a6
clr.l d0
rts
gfxname: dc.b "graphics.library",0
even
L3int:
move.l SR,-(sp)
btst #5,$dff01f
bne.s vblank
bra endhandler
vblank:
movem.l d0-d7/a0-a6,-(sp)
lea dat(pc),a5
subq.w #1,timer(a5)
bpl.s out
move.w #$2,timer(a5)
move.l gfxbase(a5),a0
adda.l #$32,a0
move.l (a0),a0
lea tabel(pc),a1
move.w fac(a5),d0
lsl.w #1,d0
move.w 0(a1,d0.w),18(a0)
addq.w #1,fac(a5)
cmp.w #24,fac(a5)
blo.s out
clr.w fac(a5)
out:
movem.l (sp)+,d0-d7/a0-a6
endhandler:
move (sp)+,SR
dc.w $4ef9
oldint:
dc.l $0
dat:
dc.w 0,0,0,0
tabel:
dc.w $333,$444,$555,$666,$777,$888,$999,$aaa
dc.w $bbb,$ccc,$ddd,$eee,$fff,$eee,$ddd,$ccc
dc.w $bbb,$aaa,$999,$888,$777,$666,$555,$444
even
cend: equ *